Tính năng Android Nougat

Trải nghiệm người dùng

Android N giới thiệu một chế độ hiển thị chia màn hình, trong đó hai ứng dụng có thể chạy cùng lúc, mỗi ứng dụng được hiển thị ở mỗi nửa màn hình. Một chế độ đa cửa sổ thử nghiệm cũng được thêm vào dưới dạng tính năng ẩn, trong đó nhiều ứng dụng có thể xuất hiện cùng lúc trên màn hình trong các cửa sổ chồng xếp lên nhau.[14]

Phần thông báo cũng được thiết kế lại, giới thiệu hàng biểu tượng cài đặt nhỏ hơn, thay thế các thẻ thông báo với thiết kế "sheet", và cho phép phản hồi thông báo trực tiếp (tính năng này được được thêm vào qua các API sẵn có được sử dụng cho chức năng tương tự trên Android Wear). Nhiều thông báo từ một ứng dụng cũng có thể được "gộp chung",[2] và người dùng được kiểm soát thông báo nhiều hơn cho mỗi ứng dụng.[15]

Cơ chế tiết kiệm năng lượng "Doze" được giới thiệu trong Marshmallow được mở rộng thêm một trạng thái được kích hoạt khi thiết bị đang dùng pin và màn hình đã tắt được một thời gian, nhưng không phải là không giữ nguyên. Trong trạng thái này, hoạt động mạng bị giới hạn, và các ứng dụng được cho phép "giữ nguyên cửa sổ", cho phép chúng truy cập vào mạng và tiến hành các tác vụ ngầm. Giống như Marshmallow, trạng thái Doze đầy đủ được kích hoạt nếu thiết bị giữ nguyên với màn hình đã tắt trong một khoảng thời gian.[2][16] Một chế độ "Data Saver" (Tiết kiệm dữ liệu) giới hạn sử dụng dữ liệu di động ngầm, và có thể kích hoạt các chức năng trong ứng dụng được thiết kế để giảm sử dụng dữ liệu, ví dụ như giảm chất lượng phương tiện trực tuyến.[16][17]

Nền tảng

Vào tháng 12 năm 2015, Google thông báo rằng Android Nougat sẽ chuyển JRE (Java Runtime Environment) của nó từ Apache Harmony đã không còn hoạt động nữa sang OpenJDK—phần thực hiện mã nguồn mở chính thức của nền tảng Java được duy trì bởi Oracle Corporation và cộng đồng Java.[18] Android Runtime (ART) nay có thêm hệ thống biên dịch hướng dẫn qua profile, sử dụng một trình biên dịch JITprofiling cùng với trình biên dịch AOT hiện tại có sẵn để tối ưu thêm các ứng dụng cho phần cứng của một thiết vị và các điều kiện ngầm khác.[16]

Nougat giới thiệu một hệ thống kích hoạt cập nhật "liên tục", tự động, vừa chia sẻ và dựa trên một số mã của chức năng tương tự trên Chrome OS. Hệ thống sử dụng một cặp phân vùng SquashFS; hệ thống Android thực thi từ một phân vùng "trực tuyến", trong khi các bản cập nhật được áp dụng dưới nền trong một phân vùng "ngoại tuyến" dôi dư. Trong lần khởi động tiếp theo sau quá trình cài đặt bản cập nhật, phân vùng dư sẽ được biểu thị là hoạt động, và từ lúc đó thiết bị sẽ khởi động vào hệ thống đã được cập nhật. Phân vùng hệ thống trước được giữ lại để sao lưu đề phòng khi cập nhật thất bại, và để phục vụ như phân vùng "ngoại tuyến" trong lần cập nhật tiếp theo. Hệ thống này loại bỏ yêu cầu thiết bị phải khởi động lại và môi trường khôi phục hệ thống để áp dụng bản cập nhật (khiến thiết bị không thể sử dụng được trong suốt thời gian cài đặt bản cập nhật), và cũng cho phép một bản cập nhật được tự động gỡ ra và quay lại phiên bản cũ trong trường hợp thất bại. Do yêu cầu phân vùng của hệ thống này, các thiết bị hiện tại sẽ không hỗ trợ cập nhật liên tục. Hơn nữa, do các thay đổi về ART trên Nougat, các ứng dụng không cần phải được biên dịch lại trong lần khởi động đầu tiên sau một bản cập nhật hệ thống nữa.[19][20]

Bản Developer Preview 2 đã thêm hỗ trợ nền tảng cho Vulkan,[4][21][22] API vẽ 3D cấp thấp mới để bổ sung cho OpenGL ES nhưng với hiệu suất đồ họa cao hơn.[23]

Hỗ trợ cho nền tảng VR Daydream được giới thiệu trong Nougat. Các tính năng bao gồm một "chế độ VR" để giảm độ trễ đồ họa,[24] một "chế độ duy trì hiệu suất" để hỗ trợ các nhà phát triển trong việc tối ưu hóa các ứng dụng cho một profile nhiệt của các thiết bị,[16] một thuật toán dò tìm đầu mới kết hợp dữ liệu nhập vào từ nhiều cảm biến thiết bị, và tích hợp thông báo hệ thống vào giao diện người dùng VR.[25]

Nougat là phiên bản đầu tiên hỗ trợ Unicode 9.0 và đi kèm với các emoji đã được cập nhật cộng với hỗ trọ màu da cho emoji.[26]

Bảo mật

Sau vụ lỗi bảo mật Stagefright được phát hiện và sửa chữa vào năm 2015, một vài thay đổi đã được thực hiện để củng cố lại hệ thống khỏi các mối đe dọa trong tương lai.[27] Một cơ chế phát hiện lỗi tràn số nguyên trong thời gian chạy được thêm vào để ngăn chặn phần lớn các lỗi lập trình tương tự như Stagefright trở thành mối đe dọa, bên cạnh việc giúp sửa và phòng ngừa các lỗi như vậy.[27] Tiến trình nguyên khối MediaServer của Android được thiết kế lại để tuân theo quy tắc ưu tiên tối thiểu. MediaServer nay được tách thành nhiều quá trình tách biệt, mỗi quá trình chạy trên sandbox không đặc quyền riêng của nó, và chỉ cho phép các quyền được yêu cầu cho tác vụ của nó. Ví dụ, chỉ có AudioServer mới có thể truy cập Bluetooth, và libstagefright nay chạy trong sandbox MediaCodecService, trong đó chỉ cấp quyền truy cập GPU. Các giới hạn lớn hơn được đặt thông qua seccomp.[27]

Một vài cơ chế được kích hoạt để giảm khả năng các mã độc có thể xâm nhập và/hoặc thực thi bên trong hạt nhân Linuxl, bao gồm chia bộ nhớ hạt nhân thành các phần riêng biệt cho mã và dữ liệu, với các quyền truy cập trang chỉ đọc và không thực thi được điều chỉnh cho phù hợp. Hạt nhân cũng bị giới hạn việc trực tiếp truy cập bộ nhớ không gian người dùng, và bảo vệ chồng xếp được kích hoạt trong trình biên dịch để giảm phá vỡ ngăn xếp.[28] Để giới hạn độ phơi nhiễm của hạt nhân với các mã độc, perf được vô hiệu hóa theo mặc định, các lệnh ioctl bị giới hạn bởi SELinux, và seccomp-bpf được kích hoạt để cấp quyền giới hạn các cuộc gọi hệ thống cho các quá trình.[28]

Trên các thiết bị được cài đặt sẵn Android Nougat, quy định "Verified Boot" (Khởi động Xác nhận—được giới thiệu một phần trên KitKat, và hiển thị thông báo khi khởi động trên Marshmallow) phải được thực thi. Nếu các tập tin hệ thống bị hư hỏng hoặc bị điều chỉnh lại, hệ điều hành sẽ chỉ cho phép các hoạt động trong một chế độ giới hạn sử dụng hoặc từ chối khởi động.[29][30]

Tài liệu tham khảo

WikiPedia: Android Nougat http://android-developers.blogspot.com.au/2016/04/... http://developer.android.com/preview/api-overview.... http://www.androidpolice.com/2016/07/18/android-7-... http://arstechnica.com/gadgets/2016/03/surprise-th... http://arstechnica.com/gadgets/2016/03/this-is-and... http://arstechnica.com/gadgets/2016/05/android-n-b... http://arstechnica.com/gadgets/2016/05/android-vr-... http://arstechnica.com/tech-policy/2016/01/android... http://android-developers.blogspot.com/2016/04/and... http://android-developers.blogspot.com/2016/04/opt...